The boot loader is a relatively small piece of firmware in microprocessor/controller-based electronic devices, which initializes the platform, loads the device firmware into the processors, and initiates the processors to run with the loaded firmware. The boot loader is usually stored in persistent memory like Electrically Erasable Programmable Read-Only Memory (EEPROM) at the manufacturing facility and is not meant for frequent updates or field updates.
At times, it might be necessary to update the boot loader when issues are found during field usage. For example, the device might be capable of supporting new features, but those new features require a new boot loader be installed in the device. Or an error might have been discovered in the older boot loader, necessitating its replacement. Usually updating the boot loader requires shipping the device back to a service facility or manufacturing facility because updating the boot loader is a critical process: if the boot loader replacement is not performed and monitored properly, it could “brick” the device (that is render the device completely inoperative). In addition, device manufacturers often consider the methods used to update the boot loader to be confidential, and do not want others learning how the device boot loader is updated.
A need remains for a way to improve how to update device boot loaders.